package bean;

import java.io.Serializable;
import java.util.List;

import metier.Film;
import metier.Personne;
import DAO.*;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;


public class BeanFilm implements Serializable {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private Film film = new Film();
	private DAOFilm dao = DAOFilmJPA.getInstance();
	private int idCourant;
	public static int idC;
	//sert pour l'ajout d'un acteur
	private Personne personne= new Personne();
	private DAOPersonne daoP = DAOPersonneJPA.getInstance();
	private Personne personneSelectionne;
	
	public Personne getPersonneSelectionne(){
		return personneSelectionne;
	}
	
	public void setPersonneSelectionne(int id){
		this.personneSelectionne = daoP.get(id);
	}
	
	public int getIdCourant() {
		return idCourant;
	}

	public void setIdCourant(int idCourant) {
		this.idCourant = idCourant;
		idC=idCourant;
		this.film=dao.get(idCourant);
	}
	
	public List<Film> getFilms(){
		return dao.loadAll();	
	}

	public List<Film> getFilmNom() {
		return dao.loadAllWithName(film.getTitre());
	}
	
	public Film getFilm() {
		return film;
	}
	
	public void setFilm (Film film) {
		this.film = film;
	}
	
	public Personne getPersonne() {
		return personne;
	}
	
	public void setPersonne (Personne p) {
		this.personne = p;
	}
	

	
	public String ajouterActeur(){
		if (personne.getId()==-1)
			daoP.save(personne);
		else
			personne = personneSelectionne;
		film.addActeur(personne);
		return "ActeurAjout";
		
	}
	public String enregistrer() {
		dao.save(film);
		return "FilmEnregistre";
	}
	
	public String modifier() {
		dao.update(film);
		return "FilmModif";
	}
	
	public String rechercherFilms() {
		return "RechercheFilms";
	}
//	
//	public String getRoleWithFilm() {
//		return dao.getRoleWithFilm(film.getId(),BeanPersonne.idC);
//	}

		
}
